home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / OS / FWGraphx / Include / FWRaster.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  4.9 KB  |  165 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWRaster.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Copyright:    © 1993, 1995 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWRASTER_H
  11. #define FWRASTER_H
  12.  
  13. #ifndef FWGRDEF_H
  14. #include "FWGrDef.h"
  15. #endif
  16.  
  17. #ifndef FWGCONST_H
  18. #include "FWGConst.h"
  19. #endif
  20.  
  21. #ifndef FWFXMATH_H
  22. #include "FWFxMath.h"
  23. #endif
  24.  
  25. #if FW_LIB_EXPORT_PRAGMAS
  26. #pragma lib_export on
  27. #endif
  28.  
  29. //========================================================================================
  30. //    Forward Declarations
  31. //========================================================================================
  32.  
  33. class FW_CLASS_ATTR FW_PInk;
  34. class FW_CLASS_ATTR FW_PStyle;
  35. class FW_CLASS_ATTR FW_PPicture;
  36. class FW_CLASS_ATTR FW_PBitmap;
  37. class FW_CLASS_ATTR FW_CPrivTextBuffer;
  38. class FW_CLASS_ATTR FW_PFont;
  39. class FW_CLASS_ATTR FW_CGraphicContext;
  40. class FW_CLASS_ATTR FW_CRect;
  41. class FW_CLASS_ATTR FW_CPoint;
  42. class FW_CLASS_ATTR FW_CGraphicDevice;
  43. class FW_CLASS_ATTR FW_PPolygon;
  44. class FW_CLASS_ATTR FW_PIcon;
  45.  
  46. struct FW_CLASS_ATTR FW_SPlatformRect;
  47. struct FW_CLASS_ATTR FW_SPlatformPoint;
  48.  
  49. class FW_CLASS_ATTR ODShape;
  50.  
  51. //========================================================================================
  52. //    class FW_CRasterizer
  53. //========================================================================================
  54.  
  55. class FW_CLASS_ATTR FW_CRasterizer
  56. {
  57. //---------------------------------------------------------------------------------------
  58. //    Constructor/Destructor
  59. //
  60. public:
  61.                             FW_CRasterizer();
  62.     virtual                    ~FW_CRasterizer();
  63.  
  64. //---------------------------------------------------------------------------------------
  65. //    Rasterizer API
  66. //
  67. public:    
  68.     virtual void             RenderRect(FW_CGraphicContext& gc,
  69.                                         const FW_CRect& rect,
  70.                                         FW_ERenderVerbs renderVerb,
  71.                                         const FW_PInk& ink,
  72.                                         const FW_PStyle& style) = 0;
  73.                             
  74.     virtual void             RenderOval(FW_CGraphicContext& gc,
  75.                                         const FW_CRect& rect,
  76.                                         FW_ERenderVerbs renderVerb,
  77.                                         const FW_PInk& ink,
  78.                                         const FW_PStyle& style) = 0;
  79.                             
  80.     virtual void             RenderRoundRect(FW_CGraphicContext& gc,
  81.                                         const FW_CRect& rect,
  82.                                         const FW_CPoint& ovalSize,
  83.                                         FW_ERenderVerbs renderVerb,
  84.                                         const FW_PInk& ink,
  85.                                         const FW_PStyle& style) = 0;
  86.                             
  87.     virtual void             RenderArc(FW_CGraphicContext& gc,
  88.                                         const FW_CRect& rect, 
  89.                                         short startAngle, short arcAngle,
  90.                                         FW_ERenderVerbs renderVerb,
  91.                                         const FW_PInk& ink,
  92.                                         const FW_PStyle& style) = 0;
  93.  
  94.     virtual void             RenderLine(FW_CGraphicContext& gc,
  95.                                         const FW_CPoint& start, 
  96.                                         const FW_CPoint& end,
  97.                                         FW_ERenderVerbs renderVerb,
  98.                                         const FW_PInk& ink,
  99.                                         const FW_PStyle& style) = 0;
  100.  
  101.     virtual void             RenderRegion(FW_CGraphicContext& gc,
  102.                                         ODShape* odShape,
  103.                                         FW_ERenderVerbs renderVerb,
  104.                                         const FW_PInk& ink,
  105.                                         const FW_PStyle& style) = 0;
  106.                                             
  107.     virtual void             RenderPolygon(FW_CGraphicContext& gc,
  108.                                         const FW_PPolygon& polygon,
  109.                                         FW_ERenderVerbs renderVerb,
  110.                                         FW_Boolean autoCloseFrame,
  111.                                         const FW_PInk& ink,
  112.                                         const FW_PStyle& style) = 0;
  113.                                             
  114.     virtual void             RenderText(FW_CGraphicContext& gc,
  115.                                         FW_CPrivTextBuffer *textBuffer,
  116.                                         const FW_CPoint& position,
  117.                                         FW_TextAlignment textAlignment,
  118.                                         FW_ERenderVerbs renderVerb,
  119.                                         const FW_PInk& ink,
  120.                                         const FW_PFont& font) = 0;
  121.                                 
  122.     virtual FW_CFixed        RenderTextBox(FW_CGraphicContext& gc,
  123.                                         FW_CPrivTextBuffer* textBuffer, 
  124.                                         const FW_CRect& box,
  125.                                         FW_TextBoxOptions options,
  126.                                         FW_ERenderVerbs renderVerb,
  127.                                         const FW_PInk& ink,
  128.                                         const FW_PFont& font) = 0;
  129.  
  130.     virtual void             TextBoxSize(FW_CGraphicContext& gc,
  131.                                         FW_CPrivTextBuffer *textBuffer, 
  132.                                         const FW_PFont& font,
  133.                                         FW_TextBoxOptions options,
  134.                                         FW_CRect& textBox) = 0;
  135.  
  136.     virtual void            TextExtent(FW_CGraphicContext& gc,
  137.                                         FW_CPrivTextBuffer* textBuffer,
  138.                                         const FW_PFont& font, 
  139.                                         FW_CPoint& textExtent) = 0;
  140.  
  141.     virtual void             RenderPicture(FW_CGraphicContext& gc,
  142.                                         FW_PPicture picture,
  143.                                         const FW_CRect& dstRect,
  144.                                         FW_ERenderVerbs renderVerb) = 0;
  145.  
  146.     virtual void             RenderBitmap(FW_CGraphicContext& gc,
  147.                                         FW_PBitmap bitmap,
  148.                                         const FW_CRect& srcRect,
  149.                                         const FW_CRect& dstRect,
  150.                                         FW_ERenderVerbs renderVerb,
  151.                                         const FW_PInk& ink) = 0;
  152.                                                     
  153.     virtual void            RenderIcon(FW_CGraphicContext& gc,
  154.                                        const FW_PIcon& icon,
  155.                                        const FW_CRect& rect,
  156.                                        FW_RenderIconOptions options,
  157.                                        FW_ERenderVerbs renderVerb) = 0;
  158. };
  159.                                 
  160. #if FW_LIB_EXPORT_PRAGMAS
  161. #pragma lib_export off
  162. #endif
  163.  
  164. #endif // FWRASTER_H
  165.